package com.ruoyi.xp.order.service;

import java.util.List;
import com.ruoyi.xp.order.domain.Order;
import com.ruoyi.xp.order.dto.OrderInfoDto;
import net.sf.ehcache.search.expression.Or;

/**
 * 虾皮订单Service接口
 * 
 * @author chdx
 * @date 2022-12-04
 */
public interface IOrderService {
    /**
     * 查询虾皮订单
     *
     * @param orderId 虾皮订单主键
     * @return 虾皮订单
     */
    public Order selectOrderByOrderId(Long orderId);

    /**
     * 查询虾皮订单列表
     *
     * @param order 虾皮订单
     * @return 虾皮订单集合
     */
    public List<Order> selectOrderList(Order order);

    /**
     * 新增虾皮订单
     *
     * @param order 虾皮订单
     * @return 结果
     */
    public int insertOrder(Order order);

    /**
     * 修改虾皮订单
     *
     * @param order 虾皮订单
     * @return 结果
     */
    public int updateOrder(Order order);

    /**
     * 批量删除虾皮订单
     *
     * @param orderIds 需要删除的虾皮订单主键集合
     * @return 结果
     */
    public int deleteOrderByOrderIds(String orderIds);

    /**
     * 删除虾皮订单信息
     *
     * @param orderId 虾皮订单主键
     * @return 结果
     */
    public int deleteOrderByOrderId(Long orderId);


    /**
     * 查询订单没有商品信息
     *
     * @return
     */
    public List<Order> selectOrderHaveNoItem();


    /**
     * 查询仓库待处理订单
     *
     * @return
     */
    public List<Order> selectWarehouseInitOrder();

    /**
     * 查询仓库处理中订单
     *
     * @return
     */
    public List<Order> selectWareHouseWaitProcessOrder();

    /**
     * 查询仓库待打包订单
     *
     * @return
     */
    public List<Order> selectWareHouseWaitPackOrder();


    /**
     * 查询待发货的订单
     *
     * @return
     */
    public List<Order> selectOrderWaitToShip();

    /**
     * 查询待发货的订单
     *
     * @return
     */
    public List<Order> selectOrderShipping();

    /**
     * 查询未有运费的订单
     *
     * @return
     */
    public List<Order> selectHaveNoShippingFeeOrder();
}
